Three-dimensional (3D) modeling is a term given to the process by which a digital model of a three-dimensional object, or of its surface, is developed. 3D modeling may be done entirely by manipulation of specialized Computer Aided Design (CAD) software to produce digital representations of an object's surface, or may be done with the aid of a 3D scanner.
A 3D scanner is a device that can be used to gather data about the surfaces of a real world object such that the data can be used to build a three-dimensional digital model of the object. 3D scanners are generally categorized as contact or non-contact, and may further be categorized as passive or active, depending upon the manner by which the data about the real-world object is gathered. For example, a contact scanner generally includes one or more probes that physically contact points on the surface of the object being scanned. The contact scanner converts data about the positions of the probe(s) when contacting the object into three-dimensional data for the model.
Various types of non-contact scanners, both active and passive, are known. Passive non-contact 3D scanners generally use one or more imaging devices to gather data about interactions between ambient light and the object to be scanned. Active non-contact 3D scanners generally emit radiation, and detect the interaction of the radiation with the object being scanned thereby to gather data for the three-dimensional model.
One such type of active non-contact 3D scanner is a triangulation-based 3D scanner, which directs one or more beams of radiation, such as a laser beam or laser stripe, into a region of interest in which the object being scanned is located. One or more imaging devices such as a digital camera having a field of view that includes the object each captures one or more two-dimensional images that may include a reflection off of the object being scanned of the one or more beams of radiation. A computer then processes the one or more images to determine any two-dimensional location(s) in the images to which the beam of radiation was reflected. Based on the identified two-dimensional location(s), the known position of the imaging device and the known path(s) of the beam(s) of radiation, the two-dimensional location(s) are converted by triangulation into points in a three-dimensional coordinate system.
The object is scanned in this way from a number of vantage points to create a three-dimensional model in the form of a set of three-dimensional points, known as a point cloud. The point cloud, which may be in the form of a computer file, may be employed for various uses, may be further processed to clean up the point cloud, and/or may be provided to a downstream system or process for converting the point cloud representation into, for example, a three-dimensional model in the form of a three-dimensional surface representation of the object, by conversion to a polygon or triangle mesh.
The correspondence between points in the point cloud and points on the real world object depends in part upon the configuration of the 3D scanner. For a triangulation-based 3D scanner, a higher resolution scan may be conducted the closer each imaging device is to the object being scanned because the points on the object from which the beam of radiation is reflecting are more individually discernable in the pixels of the two-dimensional images. However, as the imaging device and the object are arranged closer together to increase imaging resolution, the size of object that may be captured fully within the field of view of the imaging device becomes smaller.
Furthermore, generally the field of view of the imaging device will encompass background features in addition to the object being scanned, resulting in capturing images that include the background features. While the trajectory by which the beams of radiation enter and exit the region of interest can be established such that the beams of radiation will not be incident on background features within the field of view of the imaging device under normal circumstances, in the event that a foreign object crosses the field of view during image capture and reflects the beam of radiation towards the imaging device, the foreign object will cause registration of a point that is not in fact on the surface of the object being scanned. As a result, the resultant point cloud would include “noise”. It has been proposed to use a physical screen behind the object, or enclose the entire region of interest in a housing in order to limit the occurrence of such background noise. However, such screens or housings can render the 3D scanner physically more complex, bulkier, unwieldy and unattractive.
Furthermore, various relationships between the trajectory of a beam of radiation and the angle of the surface being scanned with respect to the beam of radiation may result in spreading of the beam of radiation being reflected, particularly as the surface approaches being parallel to the beam of radiation. As a result, a given point on the object may manifest itself as a corresponding set of multiple points in the two-dimensional image. While the set of points may be resolved into a single point simply by selecting the brightest point in the set and discarding the others, such a selection is arbitrary and may not result in the most accurate representation in the 3D model of the point on the object.